home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 February / CHIPCD_02_2002.iso / Internet / Macromedia ColdFusion Server 5 / coldfusion-50-win-us.exe / data1.cab / Program_Files / BIN / import.cfm (.txt) < prev    next >
Encoding:
ColdFusion Encrypted Template  |  2001-06-13  |  14.9 KB  |  442 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2.  
  3.  
  4. <!--- I default to charlie for the password no need to have the code below... unless for 
  5. another reason ---> 
  6.  
  7.  
  8. <CFSET PASSWORD_KEY = "4p0L@r1$">
  9. <CFSET EcryptedPassword = cfusion_Encrypt( #password#, PASSWORD_KEY )>
  10. <CFREGISTRY ACTION=GET
  11.             Branch="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion\Server"
  12.             Entry="SecurityServerAdminPasswd"
  13.             Variable="AdminPassword">
  14.         <CFPARAM Name="AdminPassword" Default="NoPasswordRegistered">
  15. <CFIF CompareNoCase( EcryptedPassword, AdminPassword) IS NOT 0>
  16.         <!--- The password is missing or invalid. --->
  17.             <cfoutput>Password Invalid or not entered!!</cfoutput>
  18.             <CFABORT>
  19.         </CFIF>
  20.  
  21. <html>
  22. <head>
  23.     <title>Siteminder Migration</title>
  24. </head>
  25.  
  26. <body>
  27. <h2>Siteminder Migration - Security Contexts</h2>
  28. <!--Change the directory name and source xml filename accordingly-->
  29.  
  30. <cfset xmlfilename="#importfile#">
  31. <cfset LOGFILE=#replace(#xmlfilename#,".xml","_import.log")#>
  32.  
  33. <cfset RealmExists = "No">
  34. <CFPARAM NAME="SecurityServer" DEFAULT="CFSM">
  35. <cf_SOXML 
  36.   action="XML2DOM"
  37.   input="#xmlfilename#"
  38.   output="Policy"
  39.   type="file">
  40.   
  41. <cfloop collection="#Policy.selectNodes("policystore/userdirectories")#" item="UserDirectories">
  42. <cfscript>
  43.    UD = UserDirectories.selectNodes("userdir");
  44. </cfscript>
  45.  
  46. <table border="0">
  47. <cfloop collection="#UD#" item="UserDirectory">
  48.  
  49. <cfscript>
  50.     ndTitle = UserDirectory.selectSingleNode("name");  
  51.     ndDescription = UserDirectory.selectSingleNode("desc");  
  52.     ndServer = UserDirectory.selectSingleNode("server");  
  53.     ndUsername = UserDirectory.selectSingleNode("username");          
  54.     ndPassword = UserDirectory.selectSingleNode("password");  
  55.     ndSecureCon = UserDirectory.selectSingleNode("secureconn");  
  56.     ndNamespace = UserDirectory.selectSingleNode("namespace/name");  
  57.     ndSchemename = UserDirectory.selectSingleNode("namespace/odbcschemename");  
  58.     ndSchemedesc = UserDirectory.selectSingleNode("namespace/odbcschemedesc");  
  59.     ndAuthuser = UserDirectory.selectSingleNode("namespace/authenticateuser");  
  60.     ndEnumerate = UserDirectory.selectSingleNode("namespace/enumerate");  
  61.     ndgetgrpprop = UserDirectory.selectSingleNode("namespace/getgroupproperty");  
  62.     ndgetgrpprops = UserDirectory.selectSingleNode("namespace/getgroupproperties");      
  63.     ndgetusrgrps = UserDirectory.selectSingleNode("namespace/getusergroups");      
  64.     ndgetusrgrpinfo = UserDirectory.selectSingleNode("namespace/getuserorgroupinfo");          
  65.     ndgetusrprop = UserDirectory.selectSingleNode("namespace/getuserproperty");              
  66.     ndgetusrprops = UserDirectory.selectSingleNode("namespace/getuserproperties");                  
  67.     ndinituser = UserDirectory.selectSingleNode("namespace/inituser");          
  68.     ndisgrpmmbr = UserDirectory.selectSingleNode("namespace/isgroupmember");          
  69.     ndlookup = UserDirectory.selectSingleNode("namespace/lookup");              
  70.     ndlookupgrps = UserDirectory.selectSingleNode("namespace/lookupgroups");                  
  71.     ndlookupusrs = UserDirectory.selectSingleNode("namespace/lookupusers");                      
  72.     ndsetgrpprop = UserDirectory.selectSingleNode("namespace/setgroupproperty");                      
  73.     ndsetusrprop = UserDirectory.selectSingleNode("namespace/setuserproperty");                          
  74.     ndSearchresults = UserDirectory.selectSingleNode("namespace/SearchResults");      
  75.     ndSearchroot = UserDirectory.selectSingleNode("namespace/SearchRoot");      
  76.     ndLookupstart = UserDirectory.selectSingleNode("namespace/LookupStart");      
  77.     ndLookupend = UserDirectory.selectSingleNode("namespace/LookupEnd");      
  78.     ndSearchtimeout = UserDirectory.selectSingleNode("namespace/SearchTimeout");      
  79.     ndSearchresults = UserDirectory.selectSingleNode("namespace/SearchResults");              
  80.     ndSearchscope = UserDirectory.selectSingleNode("namespace/SearchScope");                  
  81. </cfscript>
  82.  
  83. <cfoutput>
  84.     <tr>
  85.       <td><b>#ndTitle.text#</b><br>
  86.       #ndDescription.text#<br>
  87.       #ndServer.text#<br>
  88.       #ndUsername.text#<br>
  89.         #ndPassword.text#<br>
  90.       #ndSecureCon.text#<br>      
  91.       #ndNamespace.text#<br>    
  92. <!---
  93.  
  94.       #ndSearchroot.text#<br>
  95.       #ndLookupstart.text#<br>
  96.     #ndLookupend.text#<br>
  97.     #ndSearchtimeout.text#<br>
  98.     #ndSearchresults.text#<br>
  99.     #ndSearchscope.text#<br>
  100. --->
  101.     </tr>    
  102. <CFIF ndNamespace.text IS "LDAP">    
  103. <CFIF ndSearchresults.text IS "">
  104.     <CFSET ndSearchresults.text=100>
  105. </CFIF>     
  106. <CFIF ndSearchtimeout.text IS "">
  107.     <CFSET ndSearchtimeout.text=10>
  108. </CFIF>
  109. <CFIF ndUsername.text IS "">
  110.     <CFSET UserCredentials="NO">
  111. <CFELSE>
  112.     <CFSET UserCredentials="YES">
  113. </CFIF>
  114. </CFIF>
  115.  
  116. <CFIF ndNamespace.text IS "LDAP">
  117.         <CFSET ndNamespace.text="LDAP:">
  118. <CFELSEIF ndNamespace.text IS "ODBC">
  119.         <CFSET ndNamespace.text="ODBC:">    
  120. <CFELSE>
  121.         <CFSET ndNamespace.text="WinNT:">
  122. </CFIF>    
  123.  
  124. <CFIF ndNamespace.text IS "ODBC:">
  125. <!--- Set ODBC  fields defaults. --->
  126. <CFTRY>
  127.     <CFNewInternalAdminSecurity ACTION=CREATEODBCQUERYSCHEME NAME="#ndTitle.text#"
  128.             DESCRIPTION="An ODBC query Scheme for UserDirectory"
  129.             SQLAUTHUSER="#ndAuthuser.text#"
  130.             SQLENUM="#ndEnumerate.text#"
  131.             SQLGETGROUPPROP="#ndgetgrpprop.text#"
  132.             SQLGETGROUPPROPS="#ndgetgrpprops.text#"
  133.             SQLGETGROUPS="#ndgetusrgrps.text#"
  134.             SQLGETOBJINFO="#ndgetusrgrpinfo.text#"
  135.             SQLGETUSERPROP="#ndgetusrprop.text#"
  136.             SQLGETUSERPROPS="#ndgetusrprops.text#"
  137.             SQLINITUSER="#ndinituser.text#"
  138.             SQLISGROUPMEMBER="#ndisgrpmmbr.text#"
  139.             SQLLOOKUP="#ndlookup.text#"
  140.             SQLLOOKUPGROUP="#ndlookupgrps.text#"
  141.             SQLLOOKUPUSER="#ndlookupusrs.text#"
  142.             SQLSETGROUPPROP="#ndsetgrpprop.text#"
  143.             SQLSETUSERPROP="#ndsetusrprop.text#"
  144.         >  
  145.         <CFCATCH>
  146.             <cflog text = "Failed to Create ODBCQueryScheme for #ndTitle.text#"
  147.                   file = "#LOGFILE#"
  148.                 type = "Error"> 
  149.         </CFCATCH>
  150. </CFTRY>
  151. <CFTRY>
  152.     <CFNewInternalAdminSecurity ACTION=ADDUSERDIRECTORY NAME="#ndTitle.text#"
  153.         DESCRIPTION="#ndDescription.text#"
  154.         SERVER="#ndServer.text#"
  155.         TYPE="#ndNamespace.text#"
  156.         USERNAME="#ndUsername.text#"
  157.         USERPwd="#ndPassword.text#"
  158.         USERSECURECONNECT="#ndSecureCon.text#"
  159.         >
  160.         <CFCATCH>
  161.             <cflog text = "Failed to add ODBC user directory #ndTitle.text#"
  162.                   file = "#LOGFILE#"
  163.                 type = "Error"> 
  164.         </CFCATCH>
  165. </CFTRY>
  166. <CFELSEIF ndNamespace.text IS "LDAP:">
  167. <CFTRY>
  168.  <CFNewInternalAdminSecurity ACTION=ADDUSERDIRECTORY NAME="#ndTitle.text#"
  169.         DESCRIPTION="#ndDescription.text#"
  170.         SERVER="#ndServer.text#"
  171.         TYPE="#ndNamespace.text#"
  172.         USERNAME="#ndUsername.text#"
  173.         USERPwd="#ndPassword.text#"
  174.         USERSECURECONNECT="#ndSecureCon.text#"
  175.         USERCREDENTIALS="#UserCredentials#"
  176.         RESULTS="#ndSearchresults.text#"
  177.         TIMEOUT="#ndSearchtimeout.text#"
  178.         SCOPE="#ndSearchscope.text#"
  179.         ROOT="#ndSearchroot.text#"
  180.         SEARCHSTART="#ndLookupstart.text#"
  181.             SEARCHEND="#ndLookupend.text#"
  182.         > 
  183.         <CFCATCH>
  184.             <cflog text = "Failed to add LDAP user directory #ndTitle.text#"
  185.                   file = "#LOGFILE#"
  186.                 type = "Error"> 
  187.         </CFCATCH>
  188. </CFTRY>
  189. <CFELSE>
  190. <CFTRY>
  191.  <CFNewInternalAdminSecurity ACTION=ADDUSERDIRECTORY NAME="#ndTitle.text#"
  192.         DESCRIPTION="#ndDescription.text#"
  193.         SERVER="#ndServer.text#"
  194.         TYPE="#ndNamespace.text#"
  195.         USERNAME="#ndUsername.text#"
  196.         USERPwd="#ndPassword.text#"
  197.         USERSECURECONNECT="#ndSecureCon.text#"
  198.     > 
  199.     <CFCATCH>
  200.             <cflog text = "Failed to add NT user directory #ndTitle.text#"
  201.                   file = "#LOGFILE#"
  202.                 type = "Error"> 
  203.         </CFCATCH>
  204. </CFTRY>
  205. </CFIF>        
  206. </cfoutput>
  207. </cfloop>
  208. </table>
  209. <cfflush>
  210. </cfloop>
  211.  
  212.  
  213. <cfloop collection="#Policy.selectNodes("policystore/securitycontexts")#" item="SecurityContexts">
  214. <cfscript>
  215.    SC = SecurityContexts.selectNodes("securitycontext");
  216. </cfscript>
  217.  
  218. <table border="2">
  219. <cfloop collection="#SC#" item="SecurityContext">
  220.  
  221. <cfscript>
  222.     ndTitle = SecurityContext.selectSingleNode("name");  
  223.     ndDescription = SecurityContext.selectSingleNode("description");  
  224.     ndProtectall = SecurityContext.selectSingleNode("protectall");
  225.     ndRealm = SecurityContext.selectNodes("realm");
  226.     ndRule = SecurityContext.selectNodes("rule");
  227.     ndUD = SecurityContext.selectNodes("userdirectory");
  228.     ndpolicy = SecurityContext.selectNodes("policy");
  229. </cfscript>
  230.  
  231. <cfoutput>
  232.     <tr>
  233.       <td><B>NAME</B> <b>#ndTitle.text#</b></td>
  234.       <td><B>DESCRIPTION</B> #ndDescription.text#</td>
  235.       <td><B>PROTECTALL</B> #ndProtectall.text#</td>
  236.       <!--Context name-->
  237.       <cfset scname = "#ndTitle.text#">
  238.       <!--Change the context name since testing on same machine as source-->
  239.       <CFTRY>
  240.       <CFNewInternalAdminSecurity 
  241.       ACTION=ADDSECURITYCONTEXT 
  242.       NAME="#scname#" 
  243.       Description="#ndDescription.text#" Update=YES> 
  244.       <CFCATCH>
  245.                   <cflog text = "Failed to add Security Context #scname#"
  246.                   file = "#LOGFILE#"
  247.                 type = "Error"> 
  248.       </CFCATCH>
  249.       </CFTRY>
  250.       <cfloop collection="#ndRealm#" item="realm">
  251.           <cfscript>
  252.           rname = realm.selectSinglenode("name");
  253.           rdesc = realm.selectSinglenode("description");
  254.           </cfscript>
  255.            <td><b>REALM</b> <b>#rname.text#</b> #rdesc.text#</td>
  256.          <CFIF rname.text IS "X509">
  257.             <CFTRY>
  258.             <CFNewInternalAdminSecurity ACTION=ADDSECURITYREALM NAME="#rname.text#" Directory="#scname#" 
  259.             Server="#SecurityServer#" Description="#rdesc.text#" AuthType="X509" ProtectAll="#ndProtectall.text#">
  260.             <CFCATCH>
  261.                 <cflog text = "Failed to add Security Realm #rname.text# to Context #scname#"
  262.                   file = "#LOGFILE#"
  263.                 type = "Error"> 
  264.             </CFCATCH>
  265.             </CFTRY>
  266.         <CFELSEIF rname.text is "Security">    
  267.             <CFTRY>
  268.             <CFNewInternalAdminSecurity ACTION=ADDSECURITYREALM NAME="#rname.text#" Directory="#scname#" 
  269.             Server="#SecurityServer#" Description="#rdesc.text#" ProtectAll="#ndProtectall.text#">    
  270.             <CFCATCH>
  271.                 <cflog text = "Failed to add Security Realm #rname.text# to Context #scname#"
  272.                   file = "#LOGFILE#"
  273.                 type = "Error"> 
  274.             </CFCATCH>
  275.             </CFTRY>
  276.         <CFELSE>
  277.            <CFTRY>
  278.            <CFNewInternalAdminSecurity ACTION=ADDSECURITYREALM NAME="#rname.text#" Directory="#scname#" 
  279.            Server="#SecurityServer#" Description="#rdesc.text#" ProtectAll="#ndProtectall.text#" Update="#RealmExists#">                 
  280.             <CFCATCH>
  281.                 <cflog text = "Failed to add Security Realm #rname.text# to Context #scname#"
  282.                   file = "#LOGFILE#"
  283.                 type = "Error"> 
  284.             </CFCATCH>
  285.            </CFTRY>
  286.         </CFIF> 
  287.      <cfflush>
  288.       </cfloop>
  289.        <cfloop collection="#ndRule#" item="rule">
  290.           <cfscript>
  291.              rlname = rule.selectSinglenode("name");
  292.           rldesc = rule.selectSinglenode("description");
  293.           rltype = rule.selectSinglenode("type");
  294.           rlres = rule.selectSinglenode("resource");
  295.           rlactn = rule.selectSinglenode("action");
  296.           if (Compare(rltype.text,"File") EQ 0) {
  297.             temp  = rlres;
  298.                    rlres = rlactn;
  299.                    rlactn = temp;    
  300.          }
  301.  
  302.       </cfscript>
  303.  
  304.        <td><b>RULE</b> <b>#rlname.text#</b> #rldesc.text# #rltype.text# #rlres.text# #rlactn.text#</td>
  305.        <cftry>
  306.         <cfif Compare(rltype.text,"Security") EQ 0>
  307.          <CFNewInternalAdminSecurity ACTION=ADDRULE
  308.                 NAME="#rlname.text#"
  309.                 DESCRIPTION="#rldesc.text#"
  310.                 DIRECTORY="#scname#"
  311.                 TYPE="#rltype.text#"
  312.                 RESOURCE="#rlname.text#"
  313.                 UPDATE="NO"> 
  314.         <cfelseif Compare(rltype.text,"X509") EQ 0>
  315.          <CFNewInternalAdminSecurity ACTION=ADDRULE
  316.                 NAME="#rlname.text#"
  317.                 DESCRIPTION="#rldesc.text#"
  318.                 DIRECTORY="#scname#"
  319.                 TYPE="#rltype.text#"
  320.                 RESOURCE="#scname#"
  321.                 UPDATE="NO"> 
  322.         <cfelse>
  323.           <cfset rule_resource_action="">
  324.           <cfif CompareNoCase(rltype.text,"CFML") EQ 0>
  325.             <cfif (CompareNoCase(rlname.text, "CFCOLLECTION") EQ 0) or
  326.                   (CompareNoCase(rlname.text, "CFDIRECTORY") EQ 0) or
  327.                   (CompareNoCase(rlname.text, "CFFILE") EQ 0) or
  328.                   (CompareNoCase(rlname.text, "CFINDEX") EQ 0) or
  329.                   (CompareNoCase(rlname.text, "CFLDAP") EQ 0) or
  330.                   (CompareNoCase(rlname.text, "CFREGISTRY") EQ 0)>
  331.                <cfset rule_resource_action=#rlactn.text#>
  332.              </cfif>
  333.                    <cfelseif (CompareNoCase(rltype.text,"DATASOURCE") EQ 0) or
  334.                  (CompareNoCase(rltype.text,"COLLECTION") EQ 0) or
  335.                  (CompareNoCase(rltype.text,"FILE") EQ 0)>
  336.                <cfset rule_resource_action=#rlactn.text#>
  337.           </cfif>
  338.            <CFNewInternalAdminSecurity ACTION=ADDRULE
  339.                 NAME="#rlname.text#"
  340.                 DESCRIPTION="#rldesc.text#"
  341.                 DIRECTORY="#scname#"
  342.                 TYPE="#rltype.text#"
  343.                 RESOURCE="#rlres.text#"
  344.                 RESOURCEACTION="#rule_resource_action#"
  345.                 UPDATE="NO"> 
  346.         </cfif>
  347.         <cfcatch>
  348.             <cflog text = "Failed to add rule #rlname.text# to context #scname#"
  349.                   file = "#LOGFILE#"
  350.                 type = "Error">
  351.         </cfcatch>
  352.         </cftry>
  353.         <cfflush>
  354.       </cfloop>
  355.       <cfloop collection="#ndUD#" item="userD">
  356.           <cfscript>
  357.           uname = userD.selectSinglenode("name");
  358.           </cfscript>
  359.            <td><b>USERDIRECTORY</b> <b>#uname.text#</b></td>
  360.         <cftry>
  361.          <CFNewInternalAdminSecurity ACTION=ADDUSERDIRECTORYTOCONTEXT NAME=#uname.text#
  362.                 DIRECTORY="#scname#"> 
  363.         <cfcatch>
  364.             <cflog text = "Failed to add user directory #uname.text# to context #scname#"
  365.                   file = "#LOGFILE#"
  366.                 type = "Error"> 
  367.         </cfcatch>                
  368.         </cftry>
  369.         <cfflush>
  370.       </cfloop>
  371.       <cfloop collection="#ndpolicy#" item="policy">
  372.           <cfscript>
  373.           pname = policy.selectSinglenode("name");
  374.           pdesc = policy.selectSinglenode("description");          
  375.           prule = policy.selectNodes("rule");          
  376.           puser = policy.selectNodes("user");                    
  377.           </cfscript>
  378.            <td><b>POLICY</b> <b>#pname.text#</b> #pdesc.text#
  379.         <CFTRY>
  380.          <CFNewInternalAdminSecurity ACTION=ADDPOLICY
  381.         NAME="#pname.text#"
  382.         DESCRIPTION="#pdesc.text#"
  383.         DIRECTORY="#scname#"
  384.         UPDATE="No"> 
  385.         <cfcatch type="Any">
  386.             <cflog text = "Failed to add policy #pname.text# to context #scname#"
  387.                   file = "#LOGFILE#"
  388.                 type = "Error"> 
  389.             </CFCATCH>
  390.         </CFTRY>
  391.         <cfloop collection="#prule#" item="polrule">
  392.           <cfscript>
  393.             prname = polrule.selectSinglenode("name");
  394.           </cfscript>
  395.           <b>rule</b> #prname.text#
  396.           <cftry>
  397.            <CFNewInternalAdminSecurity ACTION=ADDRULETOPOLICY
  398.                 NAME="#prname.text#"
  399.                  DIRECTORY="#scname#"
  400.                 POLICY="#pname.text#"
  401.                 RESPONSE=""> 
  402.          <cfcatch type="Any">
  403.              <cflog text = "Failed to add rule #prname.text# to policy #pname.text#"
  404.                   file = "#LOGFILE#"
  405.                 type = "Error"> 
  406.          </cfcatch>        
  407.         </cftry>
  408.         <cfflush>
  409.         </cfloop>
  410.  
  411.         <cfloop collection="#puser#" item="poluser">
  412.           <cfscript>
  413.             puname = poluser.selectSinglenode("name");
  414.             pudir = poluser.selectSinglenode("directory");            
  415.           </cfscript>
  416.           <b>user</b> #puname.text# #pudir.text#
  417.         <CFTRY>
  418.                <CFNewInternalAdminSecurity ACTION=ADDUSERTOPOLICY
  419.                 NAME="#puname.text#"
  420.                  DIRECTORY="#scname#"
  421.                 POLICY="#pname.text#"
  422.                 USER="#pudir.text#"> 
  423.             <cfcatch type="Any">
  424.             <cflog text = "Failed to add users #puname.text# to policy #pname.text#"
  425.                   file = "#LOGFILE#"
  426.                 type = "Error"> 
  427.             </CFCATCH>
  428.         </CFTRY>
  429.         </cfloop>
  430.  
  431.         </td>
  432.          <cfflush>
  433.       </cfloop>
  434.      </tr>    
  435. </cfoutput>
  436.     
  437. </cfloop>
  438. </table>
  439. </cfloop>
  440. </body>
  441. </html>
  442.